3.2 导入
我们已经了解如何把代码组织到包里,现在让我们来看看如何导入这些包,以便可以访问包内的代码。 import
语句告诉编译器到磁盘的哪里去找想要导入的包。导入包需要使用关键字 import
,它会告诉编译器你想引用该位置的包内的代码。如果需要导入多个包,习惯上是将 import
语句包装在一个导入块中,代码清单3-3展示了一个例子。
代码清单3-3 import
声明块
import (
"fmt"
"strings" ●――――strings包提供了很多关于字符串的操作,如查找、替换或者变换。可以通过访问http://golang.org/pkg/strings/或者在终端运行godoc strings来了解更多关于strings包的细节。
)
编译器会使用Go环境变量设置的路径,通过引入的相对路径来查找磁盘上的包。标准库中的包会在安装Go的位置找到。Go开发者创建的包会在 GOPATH
环境变量指定的目录里查找。 GOPATH
指定的这些目录就是开发者的个人工作空间。
举个例子。如果Go安装在/usr/local/go,并且环境变量 GOPATH
设置为/home/myproject:/home/ mylibraries,编译器就会按照下面的顺序查找 net/http
包:
/usr/local/go/src/pkg/net/http ●――――这就是标准库源代码所在的位置。
/home/myproject/src/net/http
/home/mylibraries/src/net/http
一旦编译器找到一个满足 import
语句的包,就停止进一步查找。有一件重要的事需要记住,编译器会首先查找Go的安装目录,然后才会按顺序查找 GOPATH
变量里列出的目录。
如果编译器查遍 GOPATH
也没有找到要导入的包,那么在试图对程序执行 run
或者 build
的时候就会出错。本章后面会介绍如何通过 go get
命令来修正这种错误。